package model.transaction;

import java.math.BigDecimal;

import model.BaseObject;
import model.user.User;

public abstract class Transaction extends BaseObject{
	
	BigDecimal summ = BigDecimal.ZERO;  // summ value
	String recipient = null; //transaction recipient
	String description = ""; //something about transaction
	TransactionType transactionType = null; //transaction type addition or  deduction
	
	protected abstract void addTransaction(User user, TransactionType type, String recipient, String description, BigDecimal summ);
	
	protected abstract void delete(Transaction transaction);
	
	protected abstract void change(Transaction transaction);

	public BigDecimal getSumm() {
		return summ;
	}

	public void setSumm(BigDecimal summ) {
		this.summ = summ;
	}

	public String getRecipient() {
		return recipient;
	}

	public void setRecipient(String recipient) {
		this.recipient = recipient;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public TransactionType getTransactionType() {
		return transactionType;
	}

	public void setTransactionType(TransactionType transactionType) {
		this.transactionType = transactionType;
	}
	
}
